#!/bin/bash

# 定义 PID 文件路径
PID_FILE="./temp-email.pid"

# 检查是否存在旧的进程
if [ -f "$PID_FILE" ]; then
    OLD_PID=$(cat "$PID_FILE")
    if ps -p $OLD_PID > /dev/null 2>&1; then
        echo "停止旧的服务 (PID: $OLD_PID)"
        kill $OLD_PID
        sleep 2
    fi
    rm "$PID_FILE"
fi

# 启动新服务
rm -f app.log
echo "启动新服务..."
nohup npm run start > app.log 2>&1 &
NEW_PID=$!
echo $NEW_PID > "$PID_FILE"

# 使用 disown 命令将进程从当前会话分离
disown $NEW_PID

echo "服务已启动，PID: $NEW_PID"
echo "日志文件: app.log"
# 实时查看日志,但不阻塞进程
echo "开始实时查看日志..."
tail -f app.log & 
# 将 tail 命令也放入后台运行,这样关闭终端时不会影响主进程
disown
